#!/usr/bin/python
import sys

Import ('env')

sources = env.Glob('*.cpp')
defs = ''

# Mathutils C files.
if not env['BF_PYTHON_VERSION'].startswith('3'):
	# TODO - py3 support
	sources.extend([\
		'#source/blender/python/api2_2x/Mathutils.c',\
		'#source/blender/python/api2_2x/Geometry.c',\
		'#source/blender/python/api2_2x/euler.c',\
		'#source/blender/python/api2_2x/matrix.c',\
		'#source/blender/python/api2_2x/quat.c',\
		'#source/blender/python/api2_2x/vector.c',\
		'#source/blender/python/api2_2x/constant.c',\
	])
	
	sources.extend([\
		'#source/blender/python/api2_2x/BGL.c'
	])

sources.extend([\
	'#source/blender/python/api2_2x/bpy_internal_import.c'
])


incs = '. #source/blender/python/api2_2x' # Only for Mathutils! and bpy_internal_import.h, be very careful

incs += ' #source/kernel/gen_system #intern/string #intern/guardedalloc'
incs += ' #source/gameengine/Rasterizer/RAS_OpenGLRasterizer #intern/bmfont'
incs += ' #intern/SoundSystem #intern/SoundSystem/include #intern/SoundSystem/openal'
incs += ' #intern/SoundSystem/dummy #intern/SoundSystem/intern #source/gameengine/Converter'
incs += ' #source/gameengine/BlenderRoutines #source/blender/imbuf #intern/moto/include'
incs += ' #source/gameengine/Ketsji #source/gameengine/Ketsji/KXNetwork #source/blender/blenlib'
incs += ' #source/blender/blenkernel #source/blender #source/blender/include'
incs += ' #source/blender/makesdna #source/blender/python #source/gameengine/Rasterizer'
incs += ' #source/gameengine/GameLogic #source/gameengine/Expressions #source/gameengine/Network'
incs += ' #source/gameengine/SceneGraph #source/gameengine/Physics/common #source/gameengine/Physics/Bullet'
incs += ' #source/gameengine/Physics/BlOde #source/gameengine/Physics/Dummy'
incs += ' #source/blender/misc #source/blender/blenloader #extern/glew/include #source/blender/gpu'

if env['WITH_BF_SOLID']:
	incs += ' #source/gameengine/Physics/Sumo #source/gameengine/Physics/Sumo/include'
	incs += ' #source/gameengine/Physics/Sumo/Fuzzics/include #source/gameengine/Network/LoopBackNetwork'
	incs += ' ' + env['BF_SOLID_INC']
	defs += ' USE_SUMO_SOLID'


incs += ' ' + env['BF_PYTHON_INC']
incs += ' ' + env['BF_BULLET_INC']
incs += ' ' + env['BF_OPENGL_INC']

if  env['WITH_BF_SDL']:
    incs += ' ' + env['BF_SDL_INC']
else:
	defs += ' DISABLE_SDL'
	
cxxflags = []
if env['OURPLATFORM']=='win32-vc':
	cxxflags.append ('/GR')
	cxxflags.append ('/O2')

env.BlenderLib ( 'bf_ketsji', sources, Split(incs), Split(defs), libtype=['game','player'], priority=[25, 72], cxx_compileflags = cxxflags )
